package com.niuwa.p2p.service.sms;

import com.niuwa.p2p.core.constant.SmsStatusEnum;

/**
 * 短信发送接口
 * 
 * @author bwz
 * @update by tennyqin
 */
public interface SmsService {

	/**
	 * 批量发送短信,内容相同
	 * 
	 * @param destMobiles
	 *            手机号码，多个手机号以英文;拼接，如：18588888888;18688888888,一次最多提交3000左右的号码
	 * @param contents
	 *            短信内容，需要自带签名
	 * @return
	 */
	public SmsStatusEnum sendBatchMessage(String destMobiles, String contents);

	/**
	 * 定时发送短信
	 * 
	 * @param sendDateTime
	 *            定时发送的时间，格式：20150303104100
	 * @param destMobiles
	 *            手机号码，多个手机号以英文;拼接，如：18588888888;18688888888,一次最多提交3000左右的号码
	 * @param contents
	 *            短信内容，需要自带签名
	 * @return
	 */
	public SmsStatusEnum sendTimelyMessage(String sendDateTime,
			String destMobiles, String contents);

	/**
	 * 批量发送短信，个性化内容 ,相同内容禁止使用此方法
	 * 
	 * @param destMobiles
	 *            手机号码，多个手机号以英文||拼接，如：18588888888||18688888888,一次最多提交3000左右的号码
	 * @param contents
	 *            短信内容，需要自带签名,短消息内容+签名,多个内容用||分隔,号码和内容||分隔数量必须相等
	 * @return
	 */
	public SmsStatusEnum sendPersonalMessages(String destMobiles,
			String contents);

	/**
	 * 语音
	 * 
	 * @param sendTime
	 *            发送时间，为空表示即时发送
	 * @param destMobiles
	 * @param contents
	 * @return
	 */
	public SmsStatusEnum sendAudio(String destMobiles, String sendDateTime,
			String contents);

	/**
	 * 服务器监控短信发送接口
	 * 
	 * @param destMobiles
	 * @param contents
	 * @return
	 */

	public SmsStatusEnum sendServierMoniter(String destMobiles, String contents);
}
